import { axiosInstance } from 'src/boot/axios'
import CommonConfig from 'src/assets/js/config'
import qs from 'qs'

const qsConfig = {
  arrayFormat: 'repeat',
  skipNulls: true,
  format: 'RFC3986'
}

const baseUrl = CommonConfig.bmsUrl + '/v1'

/**
 * 获取企业列表
 * administrator 管理员
 * name 公司名称
 * companyStatus 企业状态
 * pageNum 页码（从 1 起计）
 * pageSize 每页条数
 * sortName 排序字段
 * sortOrder 排序方式 asc desc
 * **/
export function getCompany (params) {
  const newUrl = baseUrl + '/companies'

  return axiosInstance.get(newUrl, { params }).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加企业
 * administrator 管理员
 * companyName 公司名称
 * email 企业邮箱
 * legalPerson 企业法人
 * remark 备注
 * status 企业状态
 * **/
export function addCompany (params) {
  const newUrl = baseUrl + `/companies`

  return axiosInstance.post(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 添加企业
 * companyId 企业id
 * administrator 管理员
 * companyName 公司名称
 * email 企业邮箱
 * legalPerson 企业法人
 * remark 备注
 * status 企业状态
 * **/
export function editCompany (params, id) {
  const newUrl = baseUrl + `/company/${id}`

  return axiosInstance.put(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 修改企业状态
 * companyId 字典id
 * status 启用禁用 1/2
 * **/
export function editStatus (companyId, params) {
  const newUrl = baseUrl + `/companies/${companyId}`

  return axiosInstance.patch(newUrl, params).then((res) => {
    return Promise.resolve(res)
  })
}

/**
 * 删除企业
 * ids 企业id
 * **/
export function delCompany (ids) {
  const newUrl = baseUrl + `/companies`
  let config = {
    params: {
      ids
    },
    paramsSerializer: function (params) {
      return qs.stringify(params, qsConfig)
    }
  }

  return axiosInstance.delete(newUrl, config).then((res) => {
    return Promise.resolve(res)
  })
}
